# -*- coding: utf-8 -*-
'''
@author: Luís Shou nº 5601
@date: Maio de 2013
'''

class insertionSort:
	'''
	Classe do algoritmo insertionSort
	'''
	def __init__(self, A):
		'''
		Construtor da classe
		Parametros de entrada: 
			A - Lista com elementos a ordenar
		'''
		self.A = A
		self.insertionSort()

	def insertionSort(self):
	        '''
		        Método que faz a ordenacao da lista.
		  		Cada elemento da lista A é comparado com o elemento anterior.        
	        '''
		for j in range(0, len(self.A)):
			key = self.A[j]
			i = j - 1
			while i > -1 and self.A[i] > key:
				self.A[i + 1] = self.A[i]
				i -= 1
			self.A[i + 1] = key
			pass
		pass
